package com.oraking.android.cmm.util;

import java.text.DecimalFormat;


public class CmmStrUtil {
	
	private static CmmStrUtil cmmUtil = new CmmStrUtil();
	
	private DecimalFormat df;
	
	private CmmStrUtil(){
		df = new DecimalFormat("#,##0.00");
	}
	
	public static CmmStrUtil getInstance(){
		return cmmUtil;
	}
	
	
	
	//-------------------------------------------------------------------------
	//함 수 명 : rPad(String str, int n, String padding)
	//작 성 자 : 김경환
	//내    용 : 주어진 문자열의 오른쪽을 padding 문자로 채운다
	//-------------------------------------------------------------------------
	public String rPad(String str, int n, String padding){
		String padStr;
		
		if(str.length() >= n){
			return str;
		}else{
			int len = n - str.length();
			padStr = str;
			for(int i = 0; i < len; i++){
				padStr = padding + padStr;
			}
		}
		
		return padStr;
	}
	
	//-------------------------------------------------------------------------
	//함 수 명 : lPad(String str, int n, String padding)
	//작 성 자 : 김경환
	//내    용 : 주어진 문자열의 왼쪽을 padding 문자로 채운다
	//-------------------------------------------------------------------------
	public String lPad(String str, int n, String padding){
		String padStr;
		
		if(str.length() >= n){
			return str;
		}else{
			int len = n - str.length();
			padStr = str;
			for(int i = 0; i < len; i++){
				padStr = padStr + padding;
			}
		}
		
		return padStr;
	}
	
	
	//-------------------------------------------------------------------------
	//함 수 명 : setDateStr1(String str)
	//작 성 자 : 김경환
	//내    용 : 주어진 문자열을 날짜 포맷에 맞춰준다.
	//-------------------------------------------------------------------------
	public String setDateStr1(String str){
		
		StringBuffer sb = new StringBuffer();
		
		if(str != null && str.length() == 8){
			sb.append(str.substring(0, 4) + "년" + str.substring(4, 6) + "월" + str.substring(6) + "일");
		}else{
			sb.append("");
		}
		
		return sb.toString();
	}
	
	//-------------------------------------------------------------------------
	//함 수 명 : setDateStr2(String str)
	//작 성 자 : 김경환
	//내    용 : 주어진 문자열을 날짜 포맷에 맞춰준다.
	//-------------------------------------------------------------------------
	public String setDateStr2(String str){
		
		StringBuffer sb = new StringBuffer();
		
		if(str != null && str.length() == 8){
			sb.append(str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6));
		}else{
			sb.append("");
		}
		
		return sb.toString();
	}

	//-------------------------------------------------------------------------
	//함 수 명 : setAreaStr(String str)
	//작 성 자 : 김경환
	//내    용 : 주어진 문자열을 이용하여 면적 표기형태로 찾는다.
	//-------------------------------------------------------------------------
	public String setAreaStr(String str){
		
		StringBuffer sb = new StringBuffer();
		
		if(str != null && str.length() > 0){
			Double db = new Double(str);
			sb.append(df.format(db));
			sb.append(" ㎡");
		}else{
			sb.append("");
		}
		
		return sb.toString();
	}	
}
